package com.devteam.weatherforcecast;
/**
 * @author Thanh
 * TODO : Handler other problem
 * Created : 2.7.2012
 */
public class WeatherUtils {
	String tt[] = { "Cloudy", "Rain", "Light rain", "Thunderstorm",
			"Chance of Storm", "Mostly Cloudy", "Clear", "Mostly Sunny",
			"Partly Sunny", "Sun", "Chance of Rain" };
	/**
	 * Dùng để chuyển đổi đọ F sang đọ C , chứ không dùng -58 , sai số nhiều . 
	 * @param tempF
	 * @return độ C 
	 */
	public int convertCtoF(int tempF) {
		int tempC = (int) ((tempF - 32) / 1.8);
		return tempC;
	}

	/**
	 * C - > F 
	 * @param tempC
	 * @return độ F 
	 */
	public int convertFtoC(int tempC) {
		int tempF = (int) (tempC * 1.8 + 32);
		return tempF;
	}

	/**
	 * Hiển thị ngày là T.V . 
	 * @param date
	 * @return chuyển đổi thứ sang Tiếng Việt : Thứ Hai
	 */
	public String convertToTV(String date) {
		String a = "";
		if (date.equals("Mon")) {
			a = "Thứ Hai";
		} else if (date.equals("Tue")) {
			a = "Thứ Ba";
		} else if (date.equals("Wed")) {
			a = "Thứ Tư";
		} else if (date.equals("Thu")) {
			a = "Thứ Năm";
		} else if (date.equals("Fri")) {
			a = "Thứ Sáu";
		} else if (date.equals("Sat")) {
			a = "Thứ Bảy";
		} else if (date.equals("Sun")) {
			a = "Chủ Nhật";
		}
		return a;
	}
	
	/**
	 * Humidity: 79%
	 * @param humidity
	 * @return 79%
	 * Chú chỉ cần đói tượng .getDoAm là tự nhiên text sẽ là Đọ ẩm : 43 %
	 */
	public String parseHumidity(String humidity) throws Exception{
		String t[] = humidity.split(" ");
		return "Độ ẩm : " + t[1];
	}
	
	/**
	 * 
	 * @param wind . Đầu vào : Wind: SE at 17 mph 
	 * @return Đầu ra : Hướng của gió : SE <=> Đông Nam ( South East ) và tốc độ của gió 1mph = 1,609344 km/h
	 * VD : "Gió ĐN: 20km/h" cái này cũng thế 
	 */
	public String parseWindCondition(String wind) throws Exception{
		String s = "";
		String huongGio = wind.substring(wind.indexOf("Wind: ")+6, wind.indexOf(" at"));
		int mph = Integer.parseInt(wind.substring(wind.indexOf("at ")+3, wind.indexOf(" mph")));
		s = "Gió "+huongGio(huongGio)+": "+convertMPHtoKMH(mph)+"km/h";
		return s ;
	}
	
	/**
	 * Chuyển từ đơn vị mph sang km/h
	 * 1mph = 1,609344 km/h
	 * @param mph 
	 * @return float km/h
	 */
	public float convertMPHtoKMH(int mph)
	{
		return (float) (mph*1.61);
		//1.609344
	}
	
	public String huongGio(String huongGio){
		String s = "";
		if (huongGio.equals("S")) { // south
			s = "N";
		} else if (huongGio.equals("E")) {
			s = "Đ";
		} else if (huongGio.equals("W")) {
			s = "T";
		} else if (huongGio.equals("N")) {
			s = "B";
		} else if (huongGio.equals("SE")) {
			s = "ĐN";
		} else if (huongGio.equals("SW")) {
			s = "TN";
		} else if (huongGio.equals("WN") || huongGio.equals("NW")) {
			s = "TB";
		} else if (huongGio.equals("NE") || huongGio.equals("EN")) {
			s = "ĐB";
		}
		return s ; 
	}
	
}
